# include<stdio.h>

#define MaxSize 20
typedef int Elemtype;

typedef struct{
	Elemtype data[MaxSize];
	int len=0;// 初始化， 赋值，
}SeqList;

void PrintList(SeqList& L)
{
	for(int i=0; i<L.len ; i++)
	{
		printf("L.data[%d]=%d\n",i+1,L.data[i] );
	}
}

bool SeqListInsert(SeqList& L, int i, int e)
{
	if(i<0||i>L.len +1)
	return false;
	if(L.len >=MaxSize)
	return false;
	
	for(int j=L.len ; j>=i;j-- )
	{
		L.data [j]=L.data [j-1];
	}
	L.data [i-1]=e;
	L.len ++;
}
bool SeqListDele(SeqList& L, int i, int& e)
{
	if(i<0||i>L.len )
	return false;
	if(L.len ==0)
	return false;
	
	e=L.data [i-1];
	for(int j=i;j<=L.len ;j++)
	{
		L.data [j-1]=L.data [j];
	}
	L.len --;
	return true;
}

int SeqListLocate(SeqList& L, int e)
{
	int j =0;
	for(j=0;j<=L.len ;j++)
	{
		if(L.data [j]==e)
			printf("查找成功\n");
			return j+1;
	
	}


	return 0;

	 
}

int main(void)
{
	SeqList L;
	bool ret;
	int i = 0;
	int j;
	int e;
	printf("请输入您想要创建的结点的个数\n");
	scanf("%d",&j);
	for(i=0;i<j;i++)
	{
		printf("请输入%d结点的值\n",i+1);
		scanf("%d",&L.data[i] );
		L.len ++;
	 } 
	 
	 printf("\n");
	 PrintList(L);
	
	 printf("\n");
	 SeqListInsert(L,2,60);
	 PrintList(L);
	 
	 /*printf("\n");
	 SeqListDele(L,2,e);
	 PrintList(L);
	 printf("该删除元素=%d\n",e);
	*/
	e=SeqListLocate(L,60);
	if(e)
	{
		printf("查找成功\n");
		printf("元素位置为%d\n",e+1);
		 
	}
	else{
		printf("查找元素失败\n");
	} 
	
	
	return 0;
}
/*
	17点55分  2022 顺序表的增删改查
	请输入您想要创建的结点的个数
3
请输入1结点的值
1
请输入2结点的值
2
请输入3结点的值
3

L.data[1]=1
L.data[2]=2
L.data[3]=3

L.data[1]=1
L.data[2]=60
L.data[3]=2
L.data[4]=3
查找成功
 

*/
